﻿#pragma once
#ifndef WRSAMPLING_H
#define WRSAMPLING_H

#include "../WRBasics.h"

//表示采样。
class WRSampling
{
private:
    //采样速率。
    WR32s m_rate;
    //采样位数。
    WR32s m_bits;

public:
    //获取采样速率。
    inline WR32s rate(void) const
    {
        return m_rate;
    }
    //设置采样速率。
    inline void rate(WR32s value)
    {
        m_rate = value;
    }

    //获取采样位数。
    inline WR32s bits(void) const
    {
        return m_bits;
    }
    //设置采样位数。
    inline void bits(WR32s value)
    {
        m_bits = value;
    }

    //初始化采样。
    inline WRSampling(WR32s rate, WR32s bits)
        : m_rate(rate), m_bits(bits)
    {
        //add code here
    }

    //判断当前采样是否和指定的采样值相等。
    inline bool equals(const WRSampling& other) const
    {
        return m_rate == other.m_rate && m_bits == other.m_bits;
    }

    //重载等于操作符。
    bool operator ==(const WRSampling& other) const
    {
        return m_rate == other.m_rate && m_bits == other.m_bits;
    }
    //重载不等于操作符。
    bool operator !=(const WRSampling& other) const
    {
        return m_rate != other.m_rate || m_bits != other.m_bits;
    }
};

#endif // WRSAMPLING_H
